package cn.kgc.javaweb.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author: mosin
 * @version: v1.0  2022/9/1
 * servlet的生命周期
 * 生命周期：  servlet实例对象创建到销毁过程
 * 1.对象的创建
 *  什么时候创建    1.tomcat容器启动时 否    2.第一次请求时  是
 *  创建几次       是否是一次请求创建一个servlet实例  否   在全局只会创建一个servlet实例  单例
 * 2.对象的初始化  资源的初始化  init()     什么时候调用？  对象实例化之后自动调用    调用的次数？一次
 * 3.提供对应的服务  service() 方法的调用   什么时候调用    调用的次数      一次请求调用一次
 * 4.对象的销毁  destroy()               什么时候调用  对象销毁时 tomcat容器正常关闭时   调用的次数？ 一次
 */
public class LifeServlet  extends HttpServlet {

    public LifeServlet(){
        System.out.println("LifeServlet() LifeServlet对象被创建");
    }

    // 销毁的方法
    @Override
    public void destroy() {
        System.out.println("destroy() 方法被调用");
    }

    // 初始化的方法
    @Override
    public void init() throws ServletException {
        System.out.println("init() 方法被调用");
    }


    // 处理具体的业务
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service()方法被调用");
    }
}
